#include "OutputHelper.h"

/*
std::ostream & operator << (std::ostream & out, const std::pair <std::string, ProductionList> & p)
{
    out << p.first << " ->";
    for(auto itr = p.second.begin(); itr != p.second.end(); ++itr)
        out << " " << **itr ;
    return out;
}
*/

std::ostream & operator << (std::ostream & out, const FirstFollowSet & ffs)
{
    for(auto itr = ffs.cbegin(); itr != ffs.cend(); ++itr)
    {
        out << **itr << ";";
    }
    return out;
}

std::ostream & operator << (std::ostream & out, const FirstFollowMap & ffm)
{
    for(auto itr = ffm.cbegin(); itr != ffm.cend(); ++itr)
    {
        out << itr->first << ":" << itr->second << std::endl ;
    }
    return out;
}

